package protectora.DAO;

import java.security.KeyStore.ProtectionParameter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.LinkedList;
import java.util.List;

import protectora.Protectora;

public class ProtectoraDAOImpl implements ProtectoraDAO {

	public List<Protectora> getProtectoras(String cp) {
		List<Protectora> resul = new LinkedList<Protectora>();
		
		Connection conn = ConnectionManager.getInstance().checkOut();
		
		ResultSet rs = null;
		PreparedStatement st = null;
		
		
		
		try {
			String sql = "Select p.Nombre, p.IdProtectora, p.Direccion from protectora p , codigopostal cp where p.Provincia = cp.CP and cp.CP ="+ cp +";";
			st= conn.prepareStatement(sql);
			rs = st.executeQuery();
			
			while(rs.next()){
				
				String id = rs.getString("IdProtectora");
				String nombre = rs.getString("Nombre");
				String direccion = rs.getString("Direccion");
				Protectora pro = new Protectora(id,nombre,direccion);
				resul.add(pro);
			}
		
		return resul;
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			try{
			rs.close();
			st.close();
			conn.close();
			}catch (Exception e) {
				System.out.println("Error al cerrar conexion");
			}
		}
		
		return resul;
	}

	public Protectora getProtectora(String idProtectora) {
		Protectora resul = new Protectora();
		
		Connection conn = ConnectionManager.getInstance().checkOut();
		
		ResultSet rs = null;
		PreparedStatement st = null;
		
		
		try {
			String sql = "SELECT p.idProtectora, p.Nombre, p.Direccion FROM protectora p where p.idProtectora = "+ idProtectora +";";
			st= conn.prepareStatement(sql);
			rs = st.executeQuery();
			while(rs.next()){
				String id = rs.getString("IdProtectora");
				String nombre = rs.getString("Nombre");
				String direccion = rs.getString("Direccion");
				resul = new Protectora(id,nombre,direccion);
				
			}
		
		return resul;
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			try{
			rs.close();
			st.close();
			conn.close();
			}catch (Exception e) {
				System.out.println("Error al cerrar conexion");
			}
		}
		
		return resul;
	}
}
	

